import styles from "@/[sandbox]/sandbox.scss"; import "elix/define/ListExplorer.js"; import { customElement, html, LitElement, property, PropertyValues } from "lit-element"; import { timelineTemplate } from "./examples/timeline"; import { timelineV2Template } from "./examples/timeline-v2"; import { profileTemplate } from "./examples/profile"; import { profileV2Template } from "./examples/profile-v2"; import { getWebexWalkinTemplate } from "./examples/webexWalkin"; import { timerTemplate } from "./examples/timer"; import { conditionTemplate } from "./examples/condition"; import { conditionBlockTemplate } from "./examples/condition-block"; import { identityTemplate } from "./examples/identity"; import { eventTogglesTemplate } from "./examples/eventToggles"; import "@momentum-ui/web-components/dist/comp/md-theme"; import { errorNotificationTemplate } from "./examples/error-notification"; import { timelineItemV2Template } from "./examples/timeline-item-v2"; @customElement("momentum-ui-web-components-sandbox") export class Sandbox extends LitElement { @property({ type: Boolean }) darkTheme = false; @property({ type: Boolean }) lumos = false; protected firstUpdated(changedProperties: PropertyValues) { super.updated(changedProperties); this.lumos = true; } protected updated(changedProperties: PropertyValues) { super.updated(changedProperties); if (this.darkTheme) { document.body.style.backgroundColor = "#000"; document.body.style.color = "#fff"; } else { document.body.style.backgroundColor = "#fff"; document.body.style.color = "#000"; } } toggleSetting(event: MouseEvent) { const composedPath = event.composedPath(); const target = (composedPath[0] as unknown) as HTMLOrSVGElement; const { aspect } = target.dataset; if (aspect === "lumos") { this.lumos = !this.lumos; } else if (aspect === "darkTheme") { this.darkTheme = !this.darkTheme; } else { console.error("Invalid data-aspect input"); return; } } themeToggle() { return html`
`; } static get styles() { return [styles]; } render() { return html` ${this.themeToggle()}

cjaas-timeline

${timelineTemplate}

cjaas-timeline-item-v2

${timelineItemV2Template}

cjaas-timeline-v2

${timelineV2Template}

cjaas-profile

${profileTemplate}

cjaas-profile-v2

${profileV2Template}

cjaas-webex-walkin

${getWebexWalkinTemplate(this.shadowRoot)}

cjaas-timer

${timerTemplate}

cjaas-condition

${conditionTemplate}

cjaas-condition-block

${conditionBlockTemplate}

cjaas-Identity

${identityTemplate}

cjaas-event-toggles

${eventTogglesTemplate}

cjaas-error-notification

${errorNotificationTemplate}
`; } }